#include <sys/select.h>
#include <sys/time.h>
#include <stdio.h>
#include <termios.h>
#include <unistd.h>
#include <fcntl.h>
int main(int argc, char **argv)
{
	init_shell();
        printf("#\n");
#if 0
	char ch;
    fd_set set;
    struct timeval tv;
    int rv;

    // 清空输入缓冲区
    //fflush(stdin);
    //scanf("%*[^\n]%*c");

    // 设置文件描述符非阻塞
    int flags = fcntl(0, F_GETFL);
    fcntl(0, F_SETFL, flags | O_NONBLOCK);
	while(1){
    // 等待输入可读
    FD_ZERO(&set);
    FD_SET(0, &set);
    tv.tv_sec = 0;
    tv.tv_usec = 0;

    rv = select(1, &set, NULL, NULL, &tv);

    if (rv > 0) {
        ch = getchar();
	printf("getchar :%c\n", ch);
	shellUart(ch);
        extern int haveShellCmd;
           if(haveShellCmd)
                    runShell();

      //  printf("Read character: %c\n", ch);
    } else {
        // 超时或者错误
    //    printf("No input available\n");
    }
	}
    // 恢复阻塞模式
    fcntl(0, F_SETFL, flags);
#else
	int ch ;
	while(1)//(ch = getc(stdin) )!= EOF)
	{
		ch = getc(stdin);
		if(ch!=EOF){
		shellUart(ch);
        	extern int haveShellCmd;
           	if(haveShellCmd)
                    runShell();
		}
	}
#endif
}
